Сообщения Windows



 

Сообщения от мыши в клиентской области окна

 

WM_LBUTTONDBLCLK

0x0203

двойное нажатие левой кнопки

WM_LBUTTONDOWN

0x0201

нажатие левой кнопки

WM_LBUTTONUP

0x0202

отпускание левой кнопки

WM_MBUTTONDBLCLK

0x0209

двойное нажатие средней кнопки

WM_MBUTTONDOWN

0x0207

нажатие средней кнопки

WM_MBUTTONUP

0x0208

отпускание средней кнопки

WM_RBUTTONDBLCLK

0x0206

двойное нажатие правой кнопки

WM_RBUTTONDOWN

0x0204

нажатие правой кнопки

WM_RBUTTONUP

0x0205

отпускание правой кнопки

 

WM_MOUSEFIRST

0x0200

первый клик мыши

WM_MOUSEHOVER

0x02A1

при входе курсора в прямоугольник клиентской части окна

WM_MOUSELEAVE

0x02A3

при выходе курсора из прямоугольника клиентской части окна

WM_MOUSELAST(2K,XP,2k3)

0x020D

последнее сообщение мыши

WM_MOUSELAST(95)

0x0209

последнее сообщение мыши

WM_MOUSELAST(NT4,98)

0x020A

последнее сообщение мыши

WM_MOUSEMOVE

0x0200

позиция курсора мыши была изменена, возвращает координаты

WM_MOUSEWHEEL

0x020A

вращение колёсика мыши (в возвр. параметрах вверх / вниз)

 

Сообщения от мыши в неклиентской области окна

 

WM_NCLBUTTONDBLCLK

0x00A3

двойное нажатие левой кнопки

WM_NCLBUTTONDOWN

0x00A1

нажатие левой кнопки

WM_NCLBUTTONUP

0x00A2

отпускание левой кнопки

WM_NCMBUTTONDBLCLK

0x00A9

двойное нажатие средней кнопки

WM_NCMBUTTONDOWN

0x00A7

нажатие средней кнопки

WM_NCMBUTTONUP

0x00A8

отпускание средней кнопки

WM_NCRBUTTONDBLCLK

0x00A6

двойное нажатие правой кнопки

WM_NCRBUTTONDOWN

0x00A4

нажатие правой кнопки

WM_NCRBUTTONUP

0x00A5

отпускание правой кнопки

WM_NCMOUSEHOVER

0x02A0

при входе курсора в неклиентскую часть окна

WM_NCMOUSELEAVE

0x02A2

срабатывает в момент пересечения границ клиенской области окна, и не реагирует на скольжение по границе. При выходе курсора из неклиентской части окна

WM_NCMOUSEMOVE

0x00A0

выполняется при пересечении границ окна и скольжении по границе. Позиция курсора мыши была изменена

WM_NCPAINT

0x0085

срабатывает при освобождении площадью другого окна поверх текущего (перерисовка)

 

Сообщения от клавиатуры

 

WM_CHAR

0x0102

ввод символа

WM_DEADCHAR

0x0103

диакритический знак (умляут, ударение и т. д.)

WM_SYSCHAR

0x0106

ввод специального символа

WM_SYSDEADCHAR

0x0107

специальный диакритический знак

WM_KEYDOWN

0x0100

была нажата клавиша клавиатуры

WM_KEYFIRST

0x0100

первая нажатая клавиша

WM_KEYLAST

0x0108

последняя нажатая клавиша

WM_KEYLAST

0x0109

последняя нажатая клавиша

WM_KEYUP

0x0101

отпущена клавиша клавиатуры

 

Оконные сообщения: уведомление

 

WM_ACTIVATE

0x0006

при смене активности окна

WM_ACTIVATEAPP

0x001C

при смене активности приложения

WM_CREATE

0x0001

при создании окна Gui

WM_DESTROY

0x0002

при удалении окна

WM_ENABLE

0x000A

срабатывает в момент изменения доступа к окну

WM_KILLFOCUS

0x0008

окно потеряло фокус ввода от клавиатуры

WM_MOUSEACTIVATE

0x0021

окно станет активным после нажатия кнопки мыши

WM_MOVE

0x0003

срабатывает только в момент перемещения окна

WM_MOVING

0x0216

срабатывает только в момент перемещения окна и отпуска

WM_SIZE

0x0005

срабатывает в момент изменения размеров окна

WM_SIZING

0x0214

срабатывает в момент изменения размеров окна и отпуска

 

Оконные сообщения; требование действия

 

WM_CLOSE

0x0010

уведомляет окно, что оно будет закpыто

WM_ERASEBKGND

0x0014

удалить фон

WM_ICONERASEBKGND

0x0027

удалить фон окна, показываемого в виде пиктограммы

WM_NCACTIVATE

0x0086

Изменить заголовок окна для показа активного состояния

WM_NCCREATE

0x0081

Создать неклиентскую область окна

WM_NCDESTROY

0x0082

Уничтожить неклиентскую область окна

 

WM_PAINT

0x000F

срабатывает при освобождении площадью другого окна поверх текущего (перерисовка)

WM_PAINTICON

0x0026

Перерисовать клиентскую область окна, показываемого в виде пиктограммы

WM_SETREDRAW

0x000B

Запретить перерисовку окна

WM_SETTEXT

0x000C

для устсновки или смены текста у окна

 

Оконные сообщения: запросы

 

WM_GETMINMAXINFO

0x0024

срабатывает во время перемещения окна, сворачивания и изменения размеров. Позволяет установить пределы увеличения и уменьшения окна как по горизонтали так и по вертикали индивидуально. А также позицию и размеры развёрнутого состояния. Установочные параметры можно игнорировать указав только необходимые параметры.

WM_GETTEXT

0x000D

Запрос текста заголовка окна, а для окон, не имеющих заголовка (например, для кнопок) — текста, размещенного в окне

WM_GETTEXTLENGTH

0x000E

Возвpащает длину в байтах текста окна

WM_NCCALCSIZE

0x0083

Запрос размеров клиентской области

WM_QUERYNEWPALETTE

0x030F

Запрос существования новой палитры

WM_QUERYOPEN

0x0013

Запрос возможности открытия окна, отображаемого в виде пиктограммы

 

Сообщения от меню

 

WM_COMMAND

0x0111

Был выбран пункт меню. Клик на элементе интерфейса

WM_INITMENU

0x0116

уведомление о возможности изменить меню перед его активизацией

WM_INITMENUPOPUP

0x0117

Уведомление о возможности изменить пункты всплывающего меню перед его отображением на экране

WM_MENUCHAR

0x0120

Для выбора меню использована мнемоническая клавиша. Пользователь просматривает меню

 

Сообщения многодокументного интерфейса (MDI)

 

WM_CHILDACTIVATE

0x0022

уведомляет pодительское окно, что одно из его дочеpних окон было пеpемещено с помощью функции SetWindowPos. Объявляет порождающему окну об активизации дочернего окна

WM_MDIACTIVATE

0x0222

Объявляет дочернему окну MDI, что оно получает или теряет активизацию

WM_MDICASCADE

0x0227

Требование оформить дочерние окна MDI в каскадной (ступенчатой) форме

WM_MDICREATE

0x0220

создает дочеpнее окно интеpфейса MDI для окна пользователя MDI

WM_MDIDESTROY

0x0221

текст

WM_MDIGETACTIVE

0x0229

Запрос окна клиента MDI о текущем активном дочернем окне

WM_MDIICONARRANGE

0x0228

Требование упорядочить расположение дочерних окон MDI, отображаемых в виде пиктограмм

WM_MDIMAXIMIZE

0x0225

Требование максимизировать дочерние окна MDI

WM_MDINEXT

0x0224

Требование активизировать следующее дочернее окно MDI

WM_MDIREFRESHMENU

0x0234

текст

WM_MDIRESTORE

0x0223

Требование восстановить дочернее окно MDI в его предыдущем состоянии

WM_MDISETMENU

0x0230

Настраивает меню для текущего дочернего окна MDI

WM_MDITILE

0x0226

Требование оформить дочерние окна MDI в форме черепичного (без перекрытий) расположения

 

Сообщения с уведомлением об изменениях системных ресурсов

 

WM_COMPACTING

0x0041

Недостаточно системной памяти

WM_DEVMODECHANGE

0x001B

Изменилась настройка принтера

WM_FONTCHANGE

0x001D

Изменились установленные в системе шрифты

WM_PALETTEISCHANGING

0x0310

Палитра аппаратных цветов изменена

WM_SPOOLERSTATUS

0x002A

Задание было удалено из очереди буфера печати

WM_SYSCOLORCHANGE

0x0015

Один или более системных цветов изменены

WM_TIMECHANGE

0x001E

срабатывает в момент изменения системной даты, времени

 

Сообщения от буфера обмена

 

WM_ASKCBFORMATNAME

0x030C

Запрашивает имя формата буфера обмена

WM_CHANGECBCHAIN

0x030D

Уведомление об изменении цепочки просмотра

WM_DESTROYCLIPBOARD

0x0307

Содержимое буфера обмена уничтожено

WM_DRAWCLIPBOARD

0x0308

Содержимое буфера обмена изменено

WM_HSCROLLCLIPBOARD

0x030E

Горизонтальная прокрутка буфера обмена

WM_PAINTCLIPBOARD

0x0309

Запрашивает рисование буфера обмена

WM_RENDERALLFORMATS

0x0306

Запрашивает данные для всех ранее объявленных форматов буфера обмена

WM_RENDERFORMAT

0x0305

Запрашивает данные для ранее объявленного формата буфера обмена

WM_SIZECLIPBOARD

0x030B

Размер буфера обмена изменен

 

Прочее

 

WM_AFXFIRST

0x0360

текст

WM_AFXLAST

0x037F

текст

WM_APP

0x8000

текст

WM_APPCOMMAND

0x0319

текст

WM_CANCELJOURNAL

0x004B

текст

WM_CANCELMODE

0x001F

требование системы отменить режим, например, захват мыши

WM_CAPTURECHANGED

0x0215

при изменении размеров окна, перемещении и отпуске заголовка

WM_CHANGEUISTATE

0x0127

текст

WM_CHARTOITEM

0x002F

что блок списка должен делать в ответ на сообщение wm_Char

WM_CLEAR

0x0303

удаляет текущий выбоp, сделанный в окне.

WM_COMMNOTIFY

0x0044

текст

WM_COMPAREITEM

0x0039

посылается родителю с запросом на сравнение двух элементов для сортировки

WM_CONTEXTMENU

0x007B

при вызове контекстного меню правой кнопкой мыши

WM_COPY

0x0301

при отправке в буфер обмена в формате CF_TEXT

WM_COPYDATA

0x004A

текст

WM_CTLCOLOR

0x0019

управляющий запрос на установку цветов

WM_CTLCOLORBTN

0x0135

при наведении на кнопку, пересечения её границ

WM_CTLCOLORDLG

0x0136

текст

WM_CTLCOLOREDIT

0x0133

наведения курсора на EDIT, пересечении границ

WM_CTLCOLORLISTBOX

0x0134

текст

WM_CTLCOLORMSGBOX

0x0132

текст

WM_CTLCOLORSCROLLBAR

0x0137

текст

WM_CTLCOLORSTATIC

0x0138

текст

WM_CUT

0x0300

вырезать в буфер обмена

WM_DELETEITEM

0x002D

уведомление, направляемое элементам управления Listbox и Combobox.o том, что удален элемент

WM_DEVICECHANGE

0x0219

срабатывает во время изменения железа в системе, например подключенная флешка

WM_DISPLAYCHANGE

0x007E

срабатывает в момент изменения разрешения экрана

WM_DRAWITEM

0x002B

Запрос родителю пользовательских элементов управления и меню на рисование (пример в GUIRegisterMsg)

WM_DROPFILES

0x0233

срабатывает в момент перетягивания файла в окно

WM_ENDSESSION

0x0016

Уведомление о результатах запроса на завершение работы системы

WM_ENTERIDLE

0x0121

Сообщает, что система находится в режиме ожидания

WM_ENTERMENULOOP

0x0211

срабатывает в момент клика главного меню окна (но не пунктов в меню)

WM_ENTERSIZEMOVE

0x0231

в НАЧАЛЕ изменения размеров или перемещении окна

WM_EXITMENULOOP

0x0212

текст

WM_EXITSIZEMOVE

0x0232

в КОНЦЕ изменения размеров или перемещении окна

WM_GETDLGCODE

0x0087

Запрос оконной процедуре, какие типы сообщений будут ею впоследствии обрабатываться

WM_GETFONT

0x0031

Возвpащает текущий шpифт блока диалога

WM_GETHOTKEY

0x0033

текст

WM_GETICON

0x007F

текст

WM_GETOBJECT

0x003D

текст

WM_HANDHELDFIRST

0x0358

текст

WM_HANDHELDLAST

0x035F

текст

WM_HELP

0x0053

WM_HELP указывает, что нажата клавиша F1

WM_HOTKEY

0x0312

Срабатывает при вызове зарегистрированных в текущем приложении горячих клавиш

WM_HSCROLL

0x0114

нажата горизонтальная линейка прокрутки

WM_VSCROLL

0x0115

нажата вертикальная линейка прокрутки

WM_IME_CHAR

0x0286

текст

WM_IME_COMPOSITION

0x010F

текст

WM_IME_COMPOSITIONFULL

0x0284

текст

WM_IME_CONTROL

0x0283

текст

WM_IME_ENDCOMPOSITION

0x010E

текст

WM_IME_KEYDOWN

0x0290

текст

WM_IME_KEYLAST

0x010F

текст

WM_IME_KEYUP

0x0291

текст

WM_IME_NOTIFY

0x0282

текст

WM_IME_REQUEST

0x0288

текст

WM_IME_SELECT

0x0285

текст

WM_IME_SETCONTEXT

0x0281

текст

WM_IME_STARTCOMPOSITION

0x010D

текст

WM_INITDIALOG

0x0110

Запрос на инициализацию диалогового окна

WM_INPUT

0x00FF

текст

WM_INPUTLANGCHANGE

0x0051

текст

WM_INPUTLANGCHANGEREQUEST

0x0050

текст

WM_MEASUREITEM

0x002C

текст

WM_MENUCOMMAND

0x0126

текст

WM_MENUDRAG

0x0123

текст

WM_MENUGETOBJECT

0x0124

текст

WM_MENURBUTTONUP

0x0122

текст

WM_MENUSELECT

0x011F

срабатывает в момент выбора главного меню и его пунктов

WM_NCHITTEST

0x0084

не выполняется, когда окно неактивно, но срабатывает при скольжении по неактивному окну. Передача в окно текущего положения указателя мыши

WM_NCXBUTTONDBLCLK

0x00AD

текст

WM_NCXBUTTONDOWN

0x00AB

текст

WM_NCXBUTTONUP

0x00AC

текст

WM_NEXTDLGCTL

0x0028

текст

WM_NEXTMENU

0x0213

текст

WM_NOTIFY

0x004E

работает с ListView, Button

WM_NOTIFYFORMAT

0x0055

текст

WM_NULL

0x0000

текст

WM_PALETTECHANGED

0x0311

текст

WM_PARENTNOTIFY

0x0210

текст

WM_PASTE

0x0302

вставка из буфера обмена

WM_PENWINFIRST

0x0380

текст

WM_PENWINLAST

0x038F

текст

WM_POWER

0x0048

текст

WM_POWERBROADCAST

0x0218

текст

WM_PRINT

0x0317

текст

WM_PRINTCLIENT

0x0318

текст

WM_QUERYDRAGICON

0x0037

текст

WM_QUERYENDSESSION

0x0011

Запрос готовности приложения к завершению работы всей системы

WM_QUERYUISTATE

0x0129

текст

WM_QUEUESYNC

0x0023

текст

WM_QUIT

0x0012

Требование на завершение приложения

WM_SETCURSOR

0x0020

Уведомление окну при перемещении мыши с возможностью изменить

WM_SETFOCUS

0x0007

текст

WM_SETFONT

0x0030

Запрос родителю элемента управления на обеспечение его размеров при прорисовке

WM_SETHOTKEY

0x0032

текст

WM_SETICON

0x0080

текст

WM_SETTINGCHANGE

0x001A

текст

WM_SHOWWINDOW

0x0018

срабатывает в момент отображения окна

WM_STYLECHANGED

0x007D

срабатывает в момент изменения стиля окна

WM_STYLECHANGING

0x007C

срабатывает в момент изменения стиля окна

WM_SYNCPAINT

0x0088

текст

WM_SYSCOMMAND

0x0112

при клике на заголовке окна или изменении размеров окна

WM_SYSKEYDOWN

0x0104

текст

WM_SYSKEYUP

0x0105

текст

WM_TABLET_FIRST

0x02C0

текст

WM_TABLET_LAST

0x02DF

текст

WM_TCARD

0x0052

текст

WM_THEMECHANGED

0x031A

текст

WM_TIMER

0x0113

запускает счётчик времени, который выполняет событие через указанный интервал многократно, пока не будет остановлен

WM_UNDO

0x0304

текст

WM_UNICHAR

0x0109

текст

WM_UNINITMENUPOPUP

0x0125

текст

WM_UPDATEUISTATE

0x0128

текст

WM_USER

0x0400

текст

WM_USERCHANGED

0x0054

текст

WM_VKEYTOITEM

0x002E

текст

WM_VSCROLLCLIPBOARD

0x030A

текст

WM_WINDOWPOSCHANGED

0x0047

срабатывает в момент перемещения окна окна или изменения размеров

WM_WINDOWPOSCHANGING

0x0046

срабатывает в момент изменения размеров окна, перемещении, клике на заголовке

WM_WININICHANGE

0x001A

текст

WM_WTSSESSION_CHANGE

0x02B1

текст

WM_XBUTTONDBLCLK

0x020D

текст

WM_XBUTTONDOWN

0x020B

текст

WM_XBUTTONUP

0x020C

текст

 

 

Ссылки

 

hostmake

gotdotnet.ru

freebasic.justforum.net

infocity.kiev.ua

firststeps.ru